import tensorflow as tf

# 创建一个形状为 [3, 3] 的全1矩阵
ones_matrix = tf.ones(shape=[3, 3])
tf.print("Ones Matrix:", ones_matrix)

# 创建一个从1开始到9结束（不包含10）的浮点数张量
range_tensor = tf.range(start=1, limit=10, dtype=tf.float32)
tf.print("Range Tensor:", range_tensor)

# 对range_tensor的前9个元素进行重塑，形状变为 [3, 1, 3]
reshaped_tensor = tf.reshape(range_tensor[:9], shape=[3, 1, 3])
tf.print("Reshaped Tensor:", reshaped_tensor)

# 去除reshaped_tensor中维度为1的轴，即去除中间的[1]维度
squeezed_tensor = tf.squeeze(reshaped_tensor)
tf.print("Squeezed Tensor:", squeezed_tensor)

# 从range_tensor中切片，取索引为2到5（不包含6）的元素
range_slice = range_tensor[2:6]
tf.print("Range Slice:", range_slice)

# 计算range_slice中元素的平均值
mean_value = tf.reduce_mean(range_slice)
tf.print("Mean Value:", mean_value)

# 创建一个形状为 [2, 2] 的随机正态分布的矩阵
random_normal_matrix = tf.random.normal(shape=[2, 2])
tf.print("Random Normal Matrix:", random_normal_matrix)

# 创建一个形状为 [3, 3] 的常数矩阵
original_matrix = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
tf.print("Original Matrix:", original_matrix)

# 从original_matrix中切片，取第1行到第2行（不包含第3行），第1列到第2列（不包含第3列）的元素
sliced_matrix = original_matrix[0:2, 0:2]
tf.print("Sliced Matrix:", sliced_matrix)

# 创建一个形状为 [3, 3] 的全0矩阵
zeros_matrix = tf.zeros([3, 3])
tf.print("Zeros Matrix:", zeros_matrix)

# 创建一个形状为 [3] 的浮点数张量
float_tensor = tf.constant([1.0, 2.0, 3.0], dtype=tf.float32)
tf.print("Float Tensor:", float_tensor)

# 将float_tensor的数据类型转换为int32
int_tensor = tf.cast(float_tensor, tf.int32)
tf.print("Integer Tensor:", int_tensor)

# 创建一个形状为 [2, 3] 的常数矩阵
constant_matrix = tf.constant([[10, 20, 30], [40, 50, 60]])
tf.print("Constant Matrix:", constant_matrix)

# 在constant_matrix的第一个维度之后增加一个新的维度，使其形状变为 [2, 1, 3]
expanded_matrix = tf.expand_dims(constant_matrix, axis=1)
tf.print("Expanded Matrix:", expanded_matrix)
